package org.yangyang.top100.P141LinkedListCycle;

import util.list.ListNode;

/**
 * 2020-07-27
 * 给定一个链表，判断链表中是否有环。
 * 输入：head = [3,2,0,-4], pos = 1
 * 输出：true
 * 解释：链表中有一个环，其尾部连接到第二个节点。
 */
public class Solution {
    public boolean hasCycle(ListNode head) {
        //快慢指针
        if(head==null||head.next==null){
            return false;
        }
        ListNode fast=head;
        ListNode slow=head;
        while(fast!=null&&fast.next!=null){
            fast=fast.next.next;
            slow=slow.next;
            if(fast==slow)return true;
        }
        return false;
    }
}
